In a world of cross-platform connectivity and 8 MB word processors, the interface solutions of yesterday just aren’t enough. If we want to deliver the power that our customers demand, while still making our applications usable, we’re going to need some new ideas.
Back in June, I proposed five new interface design techniques for dealing with our complex world. These were:
•Constraints: to lead users through a system by restricting their choices (I wrote about this in the June 1992 Apple Direct)
•Intelligence: to take “busy work” out of the user’s way (Apple Direct, August 1992)
•Elegance: to give grace and simplicity to our designs (Apple Direct, September 1992)
•Attention to detail: to make our interface—our “user illusions”—believable (Apple Direct, October 1992)
This month, I’d like to turn to the last of the five techniques, namely transparency: to keep the interface itself out of the user’s way.
Transparency is a bit of a sticky concept in human interface. To give you an idea of this, there’s been a raging debate about whether interfaces should be transparent or translucent. Academic debates like this are amusing in psychology classes, but they don’t really give you a feel for how your software should be designed. As such, I’m just going to talk about transparency by using the trusty “restaurant analogy”…
“Hi, I’m Bob! I’ll be Your Waiter for This Evening!”
A transparent interface is like a great waiter: constantly attentive without really being noticeable. Great waiters serve your food, refill your glass, and clear your dishes without ever interrupting the flow of conversation. They let you enjoy every moment of the dinner, from their graceful presentation of the menus, to the moment they elegantly present you with the bill.
Unfortunately, great waiters are none too common. People have to go to school to learn to be great waiters, and even then it’s usually a sort of initiation for first-year culinary school students.
The people who normally serve us are terrible waiters. And the very worst waiters are found in North Hollywood restaurants when you’re trying to have a romantic tête-á-tête. They’re the waiters that shatter any sense of romance by stopping by every five minutes to ask, “How’s everything going?”. The name of every one of these waiters is Bob. And they’re really actors.
Bob is not, to put it nicely, transparent.
The ideal interface, like the ideal waiter, is one that you don’t have to think about. We would say such an interface is transparent—not because we can’t see it, but because we don’t really think about it. With such an interface, our full attention is geared toard getting our work done, instead of just working the interface.
One of the biggest barriers to transparency today is the mere fact that so much of our work with computers requires a keyboard. In the future, technologies like voice recognition and pen input will help people to worry more about the work they’re doing and less about how to convince the computer to do it. Needless to say, Apple is very interested in this.
In the meantime, your application can become more transparent by following a few simple rules.
Rule 1:
Hide Features in Plain Sight
Strangely enough, the first step toward creating a transparent interface is to make the interface visible. Don’t make your users remember secret symbols, gestures, or commands to do their work. If to add page numbers to a document users have to look on page 103 of the manual, then type the secret key they find there (Option-Shift-P), they’re not going to remember what they were writing in the first place. If you make the interface visible, users don’t have to waste time on these “command safaris.”
Rule 2:
Avoid Computerese
Don’t have your program babble on in computerese unless the users are programmers. Don’t say “Query” when you could say “Find.” Don’t say “Access” when you could say “Open,” and don’t say “SysErr Code:–34” when you could say “The disk is full.”
Rule 3:
Keep Status Messages Simple
Don’t burden the user with needless programmatic detail when giving status messages. Let the user know (in a general way) what’s happening, and how long it will take. It doesn’t help most users to know that your telecommunications program has just “Initiated CCL Script Parsing” and will soon be on its way toward achieving “Name Server Access.” Give frequent status information, but keep it simple enough to understand. If you can’t think of anything more meaningful, just say “Connecting: Step 1,” “Connecting, Step 2,” and so on.
Rule 4:
Don’t Interrupt (or if You Must, Do It Quietly)
Our friend Bob the actor-waiter loves to barge in on the middle of romantic conversation to ask, “And how’s everyone’s warm duck salad tonight?!” This is why we hate Bob.
Think about this before you use the Notification Manager to display a modal dialog box from the background. Is what you’re saying that important? Or would blinking the application menu icon do just as well?
Clinical studies show that whenever a background process (like a waiter) interrupts a foreground task (like hand-holding), the result is an increase in the stress level of the person performing the foreground task. This response is in direct proportion to the level of intrusiveness. So if Bob is going to loudly interrupt a romantic moment, he’d better be telling us our car is being stolen. In that case, we can channel that stress against the thief.
Otherwise, we’ll direct it at Bob.
The Extra HI Design Mile
It’s sobering to remember that both the original Macintosh System Software and a word processor fit on a single 400K disk, worked in 128K of RAM, and could be learned in minutes. What a long way we’ve come from that in just eight years.
If we want to keep the same ease-of-use in today’s complex world, we’re going to need some new ideas. I’ve pontificated on some of my own, but now it’s time to listen to you. Don’t forget, this is your column, too. Sure, we interface folks may pound the soapbox for an issue or five, but I’m also here to help with your questions and concerns. So send me an AppleLink message at THE.DOKTOR, and I’ll do my best to answer you.
Till next time,
—Doc
Pete Bickford runs the Human Interface Lab at Apple’s IS&T (Information Systems and Technology) organization.
Taken from Apple Direct, November/December 1992 @ Apple Computer